package adapter.actors.instance_adapter;

import adapter.extras.Print;
import adapter.extras.PrintBanner;
import adapter.roles.Adapter;

/**
 * 类名称：PrintBannerAdapter
 * 类含义：表示用于衔接“新组件Print“和“旧组件PrintBanner”的适配器，采用对象适配器模式实现
 */
public class PrintBannerAdapter implements Print, Adapter {
    private PrintBanner printBanner;

    public PrintBannerAdapter(String banner) {
        printBanner = new PrintBanner(banner);
    }

    //“新组件”调用“旧组件”的功能
    @Override
    public void printWeak() {
        printBanner.showWithParen();
    }

    //“新组件”调用“旧组件”的功能
    @Override
    public void printStrong() {
        printBanner.showWithAster();
    }
}
